document.addEventListener("DOMContentLoaded", function() {

  // 1. Оборачиваем .user-state-label-ex и .lesson-date в новый блок
  document.querySelectorAll(".user-state-label-ex").forEach(function(label) {
    const parent = label.parentElement;
    const date = parent.querySelector(".lesson-date");

    if (date && !parent.classList.contains("new-state-block")) {
      const wrapper = document.createElement("div");
      wrapper.className = "new-state-block";

      parent.insertBefore(wrapper, label);
      wrapper.appendChild(label);
      wrapper.appendChild(date);
    }
  });

  // 2. Добавляем state-label перед .title
  document.querySelectorAll('.lesson-list li').forEach(li => {
    const vmiddle = li.querySelector('.vmiddle');
    const linkTitle = li.querySelector('.vmiddle .title');
    if (!vmiddle || !linkTitle) return;

    if (li.classList.contains('user-state-accomplished')) {
      const label = document.createElement('div');
      label.className = 'user-state-label done user-state-label-ex';
      label.textContent = 'Принят';
      vmiddle.insertBefore(label, linkTitle);
    }

    if (li.classList.contains('user-state-answered')) {
      const label = document.createElement('div');
      label.className = 'user-state-label answered user-state-label-ex';
      label.textContent = 'Ответ ожидает принятия';
      vmiddle.insertBefore(label, linkTitle);
    }
  });

  // 3. Исправляем текст у стоп-уроков
  document.querySelectorAll('.user-state-label.user-state-label-ex.is-stop-lesson').forEach(el => {
    el.textContent = 'Стоп-урок';
  });

  // 4. Обрабатываем lesson-date
  const replacements = [
    ["Недоступен до ", "Недоступен до "],
    ["Недоступен ", "Недоступен "],
    ["Дата и время начала ", "Открылся "]
  ];

  const months = {
    "Янв": "января",
    "Фев": "февраля",
    "Мар": "марта",
    "Апр": "апреля",
    "Май": "мая",
    "Июн": "июня",
    "Июл": "июля",
    "Авг": "августа",
    "Сен": "сентября",
    "Окт": "октября",
    "Ноя": "ноября",
    "Дек": "декабря"
  };

  const weekdays = /(Пн|Вт|Ср|Чт|Пт|Сб|Вс),?\s*/g;

  document.querySelectorAll('.lesson-date').forEach(el => {
    let text = el.textContent;

    // Замены текста
    replacements.forEach(([from, to]) => {
      text = text.replace(from, to);
    });

    // Убираем дни недели
    text = text.replace(weekdays, "");

    // Заменяем месяцы
    Object.entries(months).forEach(([abbr, full]) => {
      text = text.replace(abbr, full);
    });

    el.textContent = text.trim();
  });

});
